package modeller.databasedesignmodel.servicedemand.transaction.sqlquery.calculatorfetcher;

import modeller.databasedesignmodel.relation.index.*;
import modeller.databasedesignmodel.servicedemand.transaction.sqlquery.demandFetcher.ISQLQueryServiceDemandCalculator;

/**
 * Created by:  Jason Ye
 * Date:        26/03/2012
 * Time:        23:53
 */
public interface ISQLQueryServiceDemandCalculatorFetcher {

    public ISQLQueryServiceDemandCalculator fetch(HeapIndex index);

    public ISQLQueryServiceDemandCalculator fetch(SortedIndex index);

    public ISQLQueryServiceDemandCalculator fetch(UniqueClusteredTreeIndex index);

    public ISQLQueryServiceDemandCalculator fetch(UniqueUnclusteredTreeIndex index);

    public ISQLQueryServiceDemandCalculator fetch(NonUniqueClusteredTreeIndex nonUniqueClusteredTreeIndex);

    public ISQLQueryServiceDemandCalculator fetch(NonUniqueUnclusteredTreeIndex nonUniqueUnclusteredTreeIndex);

}
